Pathological Interaction of Locks with Transactional Memory

نویسندگان

  • Haris Volos
  • Neelam Goyal
  • Michael M. Swift
چکیده

Transactional memory (TM) promises to simplify multithreaded programming. Transactions provide mutual exclusion without the possibility of deadlock and the need to assign locks to data structures. To date, most investigations of transactional memory have looked at purely transactional systems that do not interact with legacy code using locks. Unfortunately, the reality of software engineering is that such interaction is likely. We investigate the interaction of transactional memory implementations and lock-based code. We identify and discuss five pathologies that arise with different systems when a lock is accessed both within and outside a transaction: Blocking, Deadlock, Livelock, Early Release, and Invisible Locking. To address these pathologies we designed and implemented transaction-safe locks (TxLocks) by modifying the existing lock implementation of the OpenSolaris C Library and extending the conflict resolution policy of a hardware transactional memory system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Synchronizing Parallel Tasks Using STM

The past few years have marked the start of a historic transition from sequential to parallel computation. The necessity to write parallel programs is increasing as systems are getting more complex while processor speed increases are slowing down. Current parallel programming uses low-level programming constructs like threads and explicit synchronization using locks to coordinate thread executi...

متن کامل

Lock-Free Readers/Writers

The past few years have marked the start of a historic transition from sequential to parallel computation.The necessity to write parallel programs is increasing as systems are getting more complex while processor speed increases are slowing down. Current parallel programming uses low-level programming constructs like threads and explicit synchronization using locks to coordinate thread executio...

متن کامل

A Survey Paper on Transactional Memory

The necessity to write concurrent programs is increasing as systems are getting more complex while processor speed increases are slowing down. The current popular solution for parallel programming is to use locks but they contain many known drawbacks that make them a suboptimal solution. Transactional memory is a recent alternative to locks that is gaining a lot of attention in the research com...

متن کامل

From Locks to Transactional Memory: Lessons Learned from Porting a Real-world Application

Lock-based constructs such as mutual exclusion and condition variables are commonly employed for concurrency control, especially when preemptive multithreading with shared memory is used. However, locks have received a fair amount of criticism, in particular due to their complexity. Transactional memory has been proposed as a simpler alternative to lock-based synchronization, but it is still no...

متن کامل

Transactional Memory Should Be an Implementation Technique, Not a Programming Interface

© Transactional Memory Should Be an Implementation Technique, Not a Programming Interface Hans-J. Boehm HP Laboratories HPL-2009-45 transactional memory, locks Transactional memory is often advocated as an easier-to-use replacement or locks that avoids any possibility of deadlock. Recently, as more care has been exercised in precisely specifying its semantics, a number of researchers have obser...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008